Scala

Scala
ПарадигмаМултипарадигмен, обектно ориентиран, структуриран, императивен, използващ, обобщено програмиране, рефлексивен език
Реализиране през2004
АвторМартин Одерски
Софтуерен разработчикЛаборатория за програмни методи of École Polytechnique Fédérale de Lausanne
Последна стабилна версия2.11.8 / 8 март, 2016
Типизация на даннитеСтатична, строга, заключваща, структурна
ИмплементацияScala
Повлиян отEiffel, Erlang, Haskell, Java, Lisp, Pizza, Standard ML, OCaml, Scheme, Smalltalk, Oz
ПовлияваCeylon, Chapel, Fantom, F#, Kotlin, Lasso,Red, Swift
Език на имплементацияScala
ПлатформаJVM, LLVM,JavaScript
Софтуерен лиценз3-clause BSD license
Файлово разширение.scala, .sc
Уебсайтwww.scala-lang.org
Лого на уикикниги Scala at Wikibooks в Уикикниги
Scala в Общомедия

Scala (английско произношение: /ˈskɑːlɑː/) е език за обобщено програмиране. Scala има пълен потенциал за функционално програмиране и много силна статичен тип система. Много от проекторешенията на Scala са вдъхновени от недостатъците на Java. Те са мотив да бъде проектиран по-рационален, кратък и ясен език като Scala. Изходният код на Scala е правен опит да може да се компилира с байткода на Java, за да може кодът да върви Java virtual machine (JVM). Java библиотеките могат да бъдат използвани директно в Scala кода и обратното (езикова приложимост). Като Java, Scala е обектно ориентиран език, и използва синтаксис с къдрави скоби напомнящ на програмния език C. За разлика от Java, Scala има много черти на езици за нефункционално програмиране като Scheme, Standard ML и Haskell, включително обработване, тип подразбиране, непроменливост, lazy (нестриктна оценка), и съвпадение на моделите. Освен това има напреднал тип системна поддържайки алгебричен тип данни, променлив и непроменлив, висок ред тип (но не от висок ранг) и анонимен тип данни. Други характерни черти за Scala са, че не присъства в Java include operator overloading, изборни параметри, именувани параметри, необработени низове и проверени изключения. Името Scala is идва от Scalable (по който може да се катери човек) и language (език), означавайки, че е създаден с идеята да расте заедно с изискванията на своите потребители.


Developed by StudentB